package com.helin.helinhealth.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.helin.helinhealth.entity.EmergencyCall;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 紧急呼叫记录数据访问接口
 * 
 * <p>
 * 该接口继承自MyBatis-Plus的BaseMapper，提供紧急呼叫记录相关的数据库操作。
 * 包括基本的CRUD操作和一些自定义的查询方法。
 * </p>
 */
@Mapper
public interface EmergencyCallMapper extends BaseMapper<EmergencyCall> {
    
    /**
     * 根据用户ID和日期范围查询紧急呼叫记录
     * 
     * @param userId 用户ID
     * @param startDate 开始日期
     * @param endDate 结束日期
     * @return 紧急呼叫记录列表
     */
    @Select("SELECT * FROM emergency_call WHERE user_id = #{userId} " +
            "AND create_time BETWEEN #{startDate} AND #{endDate} " +
            "AND is_deleted = 0 ORDER BY create_time DESC")
    List<EmergencyCall> getEmergencyCallsByDateRange(
            @Param("userId") String userId,
            @Param("startDate") LocalDateTime startDate,
            @Param("endDate") LocalDateTime endDate);
} 